package ru.gitverse.deenyy.walp.model;

import jakarta.persistence.*;
import java.math.BigDecimal;

@Entity
public class GammaCalculationResult {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @ManyToOne(cascade = CascadeType.ALL)
    private CalculationResult leftMeasurement;

    @ManyToOne(cascade = CascadeType.ALL)
    private CalculationResult rightMeasurement;

    @ManyToOne(cascade = CascadeType.ALL)
    private GammaResult gammaResult;

    private BigDecimal gammaValue;

    @ManyToOne(cascade = CascadeType.ALL)
    private DeltaGammaResult deltaGammaResult;

    public GammaCalculationResult() {
    }

    public GammaCalculationResult(CalculationResult leftMeasurement, CalculationResult rightMeasurement, GammaResult gammaResult, BigDecimal gammaValue, DeltaGammaResult deltaGammaResult) {
        this.leftMeasurement = leftMeasurement;
        this.rightMeasurement = rightMeasurement;
        this.gammaResult = gammaResult;
        this.gammaValue = gammaValue;
        this.deltaGammaResult = deltaGammaResult;
    }

    // Getters and setters

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public CalculationResult getLeftMeasurement() {
        return leftMeasurement;
    }

    public void setLeftMeasurement(CalculationResult leftMeasurement) {
        this.leftMeasurement = leftMeasurement;
    }

    public CalculationResult getRightMeasurement() {
        return rightMeasurement;
    }

    public void setRightMeasurement(CalculationResult rightMeasurement) {
        this.rightMeasurement = rightMeasurement;
    }

    public GammaResult getGammaResult() {
        return gammaResult;
    }

    public void setGammaResult(GammaResult gammaResult) {
        this.gammaResult = gammaResult;
    }

    public BigDecimal getGammaValue() {
        return gammaValue;
    }

    public void setGammaValue(BigDecimal gammaValue) {
        this.gammaValue = gammaValue;
    }

    public DeltaGammaResult getDeltaGammaResult() {
        return deltaGammaResult;
    }

    public void setDeltaGammaResult(DeltaGammaResult deltaGammaResult) {
        this.deltaGammaResult = deltaGammaResult;
    }
}
